package com.ktwlsoft.archivemanage.payload.businessGuidance;

import com.ktwlsoft.archivemanage.domain.dao.entity.CopyTo;
import com.ktwlsoft.archivemanage.domain.dao.entity.Imgs;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;

@ApiModel("业务指导新增")
@Getter
@Setter
public class BusinessGuidanceSaveRequest {

//    /**指导单号**/
//    @ApiModelProperty("指导单号")
//    @NotNull(message = "指导单号不能为空")
//    @Size(max = 50, message = "指导单号参数超长")
//    private String guidanceNum;

    /**
     * 关联申请编号
     **/
    @ApiModelProperty("关联申请编号")
    @Size(max = 50, message = "关联申请编号参数超长")
    private String applyNum;

    /**
     * 地理位置
     **/
    @ApiModelProperty("地理位置")
    @Size(max = 50, message = "地理位置参数超长")
    private String geoLocation;

    /**
     * 立档单位
     **/
    @Valid
    @ApiModelProperty("立档单位")
    @NotNull(message = "立档单位不能为空")
    private List<BusinessGuidanceUnit> unit;

    /**
     * 指导员id
     **/
    @ApiModelProperty("指导员id")
    private Long instructorId;

    /**
     * 指导员名字
     **/
    @ApiModelProperty("指导员名字")
    @Size(max = 20, message = "指导员名字参数超长")
    private String instructorName;

    /**
     * 状态（STAGE暂存，COMPLETE完结）
     **/
    @ApiModelProperty("状态（STAGE暂存，COMPLETE完结）")
    @Size(max = 50, message = "状态（STAGE暂存，COMPLETE完结）参数超长")
    private String state;

    /**
     * 被指导意见
     **/
    @ApiModelProperty("被指导意见")
    private String guidanceAdvice;

    /**
     * 指导意见
     **/
    @ApiModelProperty("指导意见")
    private String advice;

    /**
     * 被指导意见图片
     **/
    @ApiModelProperty("被指导意见图片")
    private Imgs guideAdviceSign;

    /**
     * 指导意见图片
     **/
    @ApiModelProperty("指导意见图片")
    private Imgs adviceImgSign;

    /**
     * 标题
     **/
    @ApiModelProperty("标题")
    private String title;

    /**
     * 表述
     **/
    @ApiModelProperty("表述")
    private String content;

    /**
     * 指导条目
     */
    @ApiModelProperty("指导条目")
    private transient List<GuiGuidanceItemUpdateRequest> itemList;

    /**
     * 操作开始时间,领导评价指导时间
     */
    @ApiModelProperty("操作开始时间,领导评价指导时间")
    private Date operationStartTime;

    /**
     * 操作结束时间,领导评价指导时间
     */
    @ApiModelProperty("操作结束时间,领导评价指导时间")
    private Date operationEndTime;
}
